package pers.lxl.structure.stack;

/**
 * 自定义的栈接口
 *
 * @date & @author: 2018/12/16 17:32 & lxl
 */
public interface Stack<E> {

    /**
     * 获得栈的大小
     *
     * @return 栈的大小
     */
    int getSize();

    /**
     * 查看栈是否为空
     *
     * @return true = 为空, false = 不为空
     */
    boolean isEmpty();

    /**
     * 向栈中压入一个元素
     *
     * @param e 元素
     */
    void push(E e);

    /**
     * 从栈中弹出一个元素
     *
     * @return 元素
     */
    E pop();

    /**
     * 查看栈顶的元素(也可以取名为top)
     *
     * @return 元素
     */
    E peek();
}